Oriented filters are useful for vision and image processing tasks such as texture analysis, edge detection, and motion analysis. An important sub-class of oriented filters are Gabor filters, which have complex valued convolution kernel ##EQU1##
where .sigma., .omega..sub.xo, .omega..sub.yo. This filter is tuned to spatial frequency (.omega..sub.x0, .omega..sub.y0) and responds maximally to edges which are oriented at an angle .theta.=atan(.omega..sub.yo /.omega..sub.xo) where .theta. is defined to be the angle between the horizontal (x) axis and the line perpendicular to the edge. The real part of g(x,y) is often referred to as the even Gabor filter kernel since it is even symmetric. The imaginary part of g(x,y) is often referred to as the odd Gabor filter kernel since it is odd symmetric. Gabor filter kernels have been used to model the receptive fields of neurons in the visual cortex. They have also found applications in computer vision such as stereo vision, binocular vergence control, texture segmentation and face recognition.
One problem with using oriented filters is that it is often necessary to compute the outputs of many filters tuned to different orientations which can be computationally expensive. To overcome this difficulty when using serial digital processing, Freeman and Adelson proposed the use of "steerable filters" (W. T. Freeman & E. H. Adelson, "The design and use of steerable filters" IEEE Trans. Pattern Analysis and Machine Intelligence, vol. 13, no. 9, pp 891-906, Sept. 1991) wherein the output of a filter tuned to an arbitrary orientation can be synthesized as a linear combination of the outputs of a small set of "basis filters". Steerable filters are especially useful for applications where the filter orientation must be adaptively tuned to match the image characteristics. Unfortunately, Gabor filters are not steerable in this sense.
Another important concept in the field of image processing is that of "scale space" (A. P. Witkin "Scale-space filtering" Proc. 8.sup.th Int. Joint Conf. Artificial Intelligence, pp. 1019-1022 IEEE 1983). The concept of scale space is that images consist of details at multiple "scales" or sizes. This may be best understood by reference to an example such as an image of a tree. At the largest scale, the boundary between the tree and the background may be detected, whereas at the smallest scale the boundaries between different leaves may be detected. Scale space filtering refers to the filtering of an image with convolution kernels of different sizes.